package spring.spring_aop.aspect;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解，对一些没有规则的方法来匹配切点
 * -@Target(ElementType.METHOD)表示的是注解修饰的位置，表示注解可以用在什么地方
 * -@Retention(RetentionPolicy.RUNTIME)表示注解的生命周期
 * 只是将注解放在了可以修饰的位置，并没有付给他实际的作用，那么这个注解就是个无用的装饰
 * 那么可以使用aop实现来赋予这个注解行为
 * -@Before("@annotation(spring.spring_aop.aspect.MyAspect)")
 * 使用@annotation表达式来单独指定这个注解并只对他MyAspect生效
 * 通知类型来表达这个注解的执行时间，在方法中的就是这个注解的行为
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAspect {

}
